package cc.wfu.domain.product.service;

import cc.common.types.entity.ProductActivityEntity;
import cc.wfu.domain.product.model.aggregate.ProductPageAggregate;
import cc.wfu.domain.product.model.entity.ProductDetailEntity;
import cc.wfu.domain.product.model.entity.ProductEntity;
import cc.wfu.domain.product.repository.IProductRepository;
import cc.wfu.types.page.PageVO;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @Author: jia-qiang ljq1024.cc
 * @desc: 商品相关服务实现
 * @Date: 2024-05-23-20:52
 */
@Service
public class ProductService implements IProductService {

    @Resource
    private IProductRepository repository;

    /**
     * 查询商品列表 - 分页，有过滤参数
     * @param productPageAggregate 请求聚合对象
     * @return 商品列表
     */
    @Override
    public PageVO<ProductEntity> queryProducts(ProductPageAggregate productPageAggregate) {
        return repository.queryProducts(productPageAggregate);
    }

    /**
     * 查询商品具体信息
     * @param productId 商品ID
     */
    @Override
    public ProductDetailEntity queryProduct(String productId) {
        return repository.queryProduct(productId);
    }

    /**
     * 预热商品 - 查询商品信息
     * @param productId 商品ID
     */
    @Override
    public ProductActivityEntity queryProductEntity(Long productId) {
        return repository.queryProductEntity(productId);
    }
}
